package cn.ghjcloud.marking.commons.model;
/**
 * 公共的返回码
 *    返回码code：
 *      成功：10000
 *      失败：10001
 *      未登录：10002
 *      未授权：10003
 *      抛出异常：99999
 */
public enum ResultCode {

	SUCCESS(true,200,"操作成功！"),

	//---系统错误返回码-----
	FAIL(false,10001,"操作失败"),
	UNAUTHENTICATED(false,10002,"您还未登录"),
	UNAUTHORISE(false,10003,"权限不足"),
	DATA_IS_NULL(false,30000,"数据没找到"),
	SELECT_ERROR(false,30001,"查询失败"),
	ADD_ERROR(false,30002,"新增失败"),
	UPDATE_ERROR(false,30003,"更新失败"),
	DELETE_ERROR(false,30004,"删除失败"),
	SERVER_ERROR(false,99999,"抱歉，系统繁忙，请稍后重试！"),
	ILLEGALARGUMENT(false,10009,"参数错误"),
	INVALID_REQUEST(false,401,"非法请求"),
	JWT_EXPIRED(false,10004,"token已过期"),
	REQUEST_METHOD_ERROR(false,10005,"请求方式错误"),
	//---用户操作返回码  2xxxx----
	USERNAMEORPASSWORDERROR(false,20001,"用户名或密码错误"),
	TOKENISNULL(false,20002,"令牌不存在"),
	INVALID_TOKEN(false,20003,"无效令牌"),
	MALFORMED_TOKEN(false,20005,"Token格式错误"),
	USER_NOT_FOUND(false,20004,"用户不存在"),
	TOEKN_ERROR(false,20005,"Token错误"),
	SIGNATURE_ERROR(false,20006,"JWT签名与本地计算的签名不匹配"),
	UNSUPPORTEDJWT(false,20007,"不支持的JWT"),
	ARGS_ERROR(false,44422,"参数错误");

	//---操作返回码  3xxxx----
	//---权限操作返回码----
	//---其他操作返回码----

	//操作是否成功
	boolean success;
	//操作代码
	int code;
	//提示信息
	String message;

	ResultCode(boolean success,int code, String message){
		this.success = success;
		this.code = code;
		this.message = message;
	}

	public boolean success() {
		return success;
	}

	public int code() {
		return code;
	}

	public String message() {
		return message;
	}

}